// 同步代码 瞬间执行完
//要解释 同步代码都会跟看到的不一样
// 变量提升？
// 背后的机制，执行栈 任何代码有两个阶段 
// 代码的编译阶段 很快执行完(会检查错误，变量的声明 作用域)
// 代码的执行阶段 a 已经提前完成了声明 这就是变量提升
// js中变量 不是独立存在的，变量类型由值决定，在特定的作用域下声明
// 作用域 优先于变量的存在的 全局作用域 在执行栈中执行时
// 变量提升 
// 在js中使用变量 到相应的作用域找出来 那个它
a=1;
var a;//声明了a
console.log(a);// 常规 undefined?   其实是1